package com.jr.Service;

import com.jr.Pojo.Couriers;
import com.jr.Pojo.Package_updates;
import com.jr.Pojo.Packages;
import com.jr.Pojo.Users;
import com.jr.util.PageHelper;

import java.util.ArrayList;

public interface ICouriersService {
    //分页查询couriers表的总条数
    int queryDataCount();
    //分页查询couriers表当前页的数据
    ArrayList<Couriers> queryAll(PageHelper ph);
    //增加物流员信息
    boolean addCouriers(String name,String phone);
    //编辑物流员信息
    boolean updateCouriers(Couriers couriers);
    //删除物流员信息
    boolean delCouriers(Integer id);
    //为物流员分配新的运单任务:物流员表里当前派送包裹+1，然后运输表里物流员id更换为选中的物流员id
    //通过物流员姓名查询全部信息，以用来获取id和配送包裹数
    ArrayList<Couriers> queryByName(String name);
    //更改状态
    boolean updateCurrent_packages(Packages packages);
    //根据单号查询物流员id
    int selectIdById(String id);
    //查询计数:
    int selectCountCurrentByStatus(Integer id);
    int selectCountCompleteByStatus(Integer id);
    //根据name替换计数
    boolean updateByName(Couriers couriers);
    //绩效统计，按完成件数倒序排序输出，以实现绩效排行榜单的输出
    //分页查询courier表当前页的数据,以completed_package值倒序输出
    ArrayList<Couriers> queryAllDESC(PageHelper ph);

    //分页查询packages表的总条数
    int selectAllDataCount(Integer courier_id);
    //分页查询packages表的当前页的数据
    ArrayList<Packages> selectAll(Integer courier_id,  PageHelper ph);
    //根据单号查询确切的运单信息
}
